C.S.Burner 🪙 ━►🔥GIT Node
Node / reticulum_mirror / MeshChatX / files / meshchatx / src / frontend / components / settings / sections / ArchiverSettingsSection.vue
Displaying Raw • Download
meshchatx/src/frontend/components/settings/sections/ArchiverSettingsSection.vue 65ca9ddc823fcc2c8f8653c553b944b85db0875f (65ca9ddc) Text, 3.79 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tff7b72<templateTff7b72>
Tff7b72<section Te6edf3v-show=Ta5d6ff"visible" Te6edf3class=Ta5d6ff"settings-section break-inside-avoid"Tff7b72>
Tff7b72<header Te6edf3class=Ta5d6ff"settings-section__header"Tff7b72>
Tff7b72<divTff7b72>
Tff7b72<div Te6edf3class=Ta5d6ff"settings-section__eyebrow"Tff7b72>BrowsingTff7b72</div>
Tff7b72<h2Tff7b72>Page ArchiverTff7b72</h2>
Tff7b72<pTff7b72>Automatically save copies of visited NomadNetwork pages.Tff7b72</p>
Tff7b72</div>
Tff7b72</header>
Tff7b72<div Te6edf3class=Ta5d6ff"settings-section__body space-y-3"Tff7b72>
Tff7b72<label Te6edf3class=Ta5d6ff"setting-toggle"Tff7b72>
Tff7b72<Toggle
Te6edf3id=Ta5d6ff"page-archiver-enabled"
Te6edf3:model-value=Ta5d6ff"config.page_archiver_enabled"
@Te6edf3update:model-value=Ta5d6ff"$emit('enabled-change', $event)"
Tff7b72/>
Tff7b72<span Te6edf3class=Ta5d6ff"setting-toggle__label"Tff7b72>
Tff7b72<span Te6edf3class=Ta5d6ff"setting-toggle__title"Tff7b72>Enable ArchiverTff7b72</span>
Tff7b72<span Te6edf3class=Ta5d6ff"setting-toggle__description"
Tff7b72>Automatically archive pages for offline viewing and fallback.Tff7b72</span
>
Tff7b72</span>
Tff7b72</label>
Tff7b72<div Te6edf3class=Ta5d6ff"grid grid-cols-1 sm:grid-cols-2 gap-4"Tff7b72>
Tff7b72<div Te6edf3class=Ta5d6ff"space-y-2"Tff7b72>
Tff7b72<div Te6edf3class=Ta5d6ff"text-sm font-medium text-gray-900 dark:text-gray-100"Tff7b72>Max Versions per PageTff7b72</div>
Tff7b72<input
Te6edf3:value=Ta5d6ff"config.page_archiver_max_versions"
Te6edf3type=Ta5d6ff"number"
Te6edf3min=Ta5d6ff"1"
Te6edf3max=Ta5d6ff"50"
Te6edf3class=Ta5d6ff"input-field"
@Te6edf3input=Ta5d6ff"
$emit('config-change', {
page_archiver_max_versions: Number($event.target.value),
})
"
Tff7b72/>
Tff7b72<div Te6edf3class=Ta5d6ff"text-xs text-gray-600 dark:text-gray-400"Tff7b72>How many versions of each page to keep.Tff7b72</div>
Tff7b72</div>
Tff7b72<div Te6edf3class=Ta5d6ff"space-y-2"Tff7b72>
Tff7b72<div Te6edf3class=Ta5d6ff"text-sm font-medium text-gray-900 dark:text-gray-100"Tff7b72>Max Total Storage (GB)Tff7b72</div>
Tff7b72<input
Te6edf3:value=Ta5d6ff"config.archives_max_storage_gb"
Te6edf3type=Ta5d6ff"number"
Te6edf3min=Ta5d6ff"1"
Te6edf3class=Ta5d6ff"input-field"
@Te6edf3input=Ta5d6ff"
$emit('config-change', {
archives_max_storage_gb: Number($event.target.value),
})
"
Tff7b72/>
Tff7b72<div Te6edf3class=Ta5d6ff"text-xs text-gray-600 dark:text-gray-400"Tff7b72>Total storage for all archived pages.Tff7b72</div>
Tff7b72</div>
Tff7b72</div>
Tff7b72<button
Te6edf3type=Ta5d6ff"button"
Te6edf3class=Ta5d6ff"w-full flex items-center justify-center gap-2 rounded-xl border border-red-200 dark:border-red-900/30 bg-red-50 dark:bg-red-900/20 px-4 py-2 text-sm font-semibold text-red-700 dark:text-red-300 hover:bg-red-100 dark:hover:bg-red-900/40 transition"
@Te6edf3click=Ta5d6ff"$emit('flush')"
Tff7b72>
Tff7b72<MaterialDesignIcon Te6edf3icon-name=Ta5d6ff"delete-sweep" Te6edf3class=Ta5d6ff"w-4 h-4" Tff7b72/>
Flush All Archived Pages
Tff7b72</button>
Tff7b72</div>
Tff7b72</section>
Tff7b72</template>
Tff7b72<scriptTff7b72>
import Toggle from "../../forms/Toggle.vue";
import MaterialDesignIcon from "../../MaterialDesignIcon.vue";
export default {
name: "ArchiverSettingsSection",
components: {
Toggle,
MaterialDesignIcon,
},
props: {
visible: {
type: Boolean,
default: true,
},
config: {
type: Object,
required: true,
},
},
emits: ["enabled-change", "config-change", "flush"],
};
Tff7b72</script>
Served by rngit 1.5.2 - Generated in 0.04s